#coding=utf-8

### action ###

DELETE_A = 0
QUARANTINE_A = 1
PASS_A = 2
FWD_A = 3

ACTION_TYPES = (
                (DELETE_A, u'usuń wiadomość'),
                (QUARANTINE_A, u'umieść wiadomość w kwarantannie'),
                (PASS_A, u'prześlij wiadomość do adresata'),
                (FWD_A, u'przekieruj wiadomość do innego adresata'),
                )
            
ACTION_TYPES_D = {
                'DELETE_A': DELETE_A,
                'QUARANTINE_A': QUARANTINE_A,
                'PASS_A': PASS_A,
                'FWD_A': FWD_A,
                  }

### logic operators ###

AND_O = 0
OR_O = 1
NOT_O = 2

LOGIC_OPERATORS = (
                   (AND_O, '&'),
                   (OR_O, '|'),
                   (NOT_O, '~'),
                   )

### size operator ###

GT_O = 0
GE_O = 1
EQ_O = 2
LT_O = 3
LE_O = 4
NE_O = 5

SIZE_OPERATORS = (
                  (GT_O, u'większa niż'),
                  (GE_O, u'większa równa'),
                  (EQ_O, u'równa'),
                  (LT_O, u'mniejsza niż'),
                  (LE_O, u'mniejsza równa'),
                  (NE_O, u'nie równa'),
                  )

### name operator ###

EMATCH_O = 0 # equal match
NOT_EMATCH_O = 1
RMATCH_O = 2 # regex match
NOT_RMATCH_O = 3
REGEX_O = 4 # contains regex
NREGEX_O = 5
HAS_WORD = 6 # has word
NHAS_WORD = 7

NAME_OPERATORS = (
                  (EMATCH_O, 'to'),
                  (NOT_EMATCH_O, 'to nie'),
                  (RMATCH_O, u'pasuje do wyrażenia regularnego'),
                  (NOT_RMATCH_O, u'nie pasuje do wyrażenia regularnego'),
                  )

### keyword operators ###

KEYWORD_OPERATORS = (
                  (EMATCH_O, 'to'),
                  (NOT_EMATCH_O, 'to nie'),
                  (HAS_WORD, 'zawiera słowo'),
                  (NHAS_WORD, 'nie zawiera słowa'),
                  (RMATCH_O, 'pasuje do wyrażenia regularnego'),
                  (NOT_RMATCH_O, 'nie pasuje do wyrażenia regularnego'),
                  (REGEX_O, 'zawiera wyrażenie regularne'),
                  (NREGEX_O, 'nie zawiera wyrażenia regularnego'),
                  )

### keyword range ###

HEADERS_R = 0
BODY_R = 1
ALL_R = 2
SUBJECT_R = 3

KEYWORD_RANGE = (
                 (HEADERS_R, 'nagłówki'),
                 (BODY_R, 'ciało wiadomości'),
                 (ALL_R, 'nagłówki i ciało wiadomości'),
                 (SUBJECT_R, 'temat wiadomości'),
                 )

### condition types ###

ATTACHMENT_C = 0
DATE_C = 1
FROM_C = 2
KEYWORD_C = 3
ANR_C = 4
SIZE_C = 5
RESENT_C = 6
SUBJECT_C = 7
TO_C = 8

CONDITION_TYPES = (
                   (ATTACHMENT_C, u'rodzaju, wielkości i nazwy załącznika'),
                   (DATE_C, u'daty nadania wiadomości'),
                   (FROM_C, u'nadawcy wiadomości'),
                   (KEYWORD_C, u'słowa kluczowego'),
                   (ANR_C, u'liczby załączników'),
                   (SIZE_C, u'rozmiaru wiadomości'),
                   (SUBJECT_C, u'tematu wiadomości'),
                   (TO_C, u'odbiorcy wiadomości'),
                   (RESENT_C, u'czy wiadomość jest odsyłana'),
                   )

CONDITION_TYPES_D = {
                    'ATTACHMENT_C': ATTACHMENT_C,
                    'DATE_C': DATE_C,
                    'FROM_C': FROM_C,
                    'KEYWORD_C': KEYWORD_C,
                    'ANR_C': ANR_C,
                    'SIZE_C': SIZE_C,
                    'RESENT_C': RESENT_C,
                    'SUBJECT_C': SUBJECT_C,
                    'TO_C': TO_C,
                     }
